【新機能】Alteryx Designer Cloudでスケジュール実行してSlackに通知を飛ばしてみた #alteryx
はじめに
こんにちは、アライアンス事業部の清水です。
今日は新しくローンチされた【Alteryx Designer Cloud】とタスク実行機能である【PLANS】を駆使して、Slackへ通知をとばしてみました。
Designer Cloud製品が気になっている皆様の、情報収集にお役立ちできれば幸いです。
Alteryx Designer Cloudについて
Alteryx Designer Cloudは、Alteryx Designer Desktopの一部の機能をクラウドに提供しております。
Designer Cloudは現状以下のように、利用できるツールに限りがあります。機械学習や予測モデリングや空間分析など、高度な統計モデリングが利用できない一方、クラウドベースのためリモート作業やチームでの共同作業を行うのに適しています。またサーバーを利用しなくてもスケジュール実行が出来るようになったのも大きな利点の一つです。
そのため単純にDesktop版が単にクラウド化されたというより、別の用途として利用していただくイメージになるかと思います。
主なツール
- データ入出力:
- データ準備:
- データブレンディング:
- パース:
- 変換・集計:
Desktop版との違い
- Suggest機能: 解析するカラム全体について、適切な解析ロジックの提案が得られます。この例の場合、営業担当者のSlackのユーザーIDのカラムを元に、次にこのカラムからアクションが予想されるツールを提案しています。
- 閲覧ツール:データセット内の欠損値や重複値、外れ値などを素早く特定し、適切な処理を行うことができます。またデータセット内のユニークな値を把握し、データの傾向やパターンを視覚的に確認することができます。
- フローの自動化とスケジューリング: Alteryx Designer Desktopでは、スケジューリングに「Alteryx Server」の契約が別途必要でしたが、Designer Cloudではこの機能が製品自体に統合されています。
やってみた
Designer CloudでWFを作成
使い方はDesktop版と変わらず、キャンバス上にツールを置いて作成していきます。検証してみたうえでの躓きポイントを記載してみます。
1. データ入力
今回データ入力で、事前にAnalytics Cloudの「Connection」から弊社内のSalesforceのデータと連携しておきました。(他に製品は多数あるように見えますが、I'm interestedと書かれている製品については、2023/10月時点ではまだ実装されていないようです)
Salesforce側で、先に連携するためのSecrityTokenを発行しておき、ユーザー情報で認証します。
Desktop版との比較をされたい方向けに、データベースの接続可能な一覧も載せておきたいと思います。
AWS、GoogleBigQuery、Microsoft SQLサーバー、Orancle、Snowflakeは対応となっています。
2. サンプル
システムから直接多数のレコードを取得する場合、APIの制限により、すべてのレコードを一度にプレビュー画面上に表示することが出来ないケースが存在します。
このケースだとJOINした時に、Preview上に「No Results to Display」と表示され、結果のデータがないように見えますが、実際にデータ出力すると対象のデータは出力されます。
この状態でPreview画面に何も結果が表示見えないと、その後のフロー作成がしにくいため、以下の「NewSample」から、サンプルデータをPreviewに表示させてフローを作成していきました。
3. 項目名のリネーム
Desktop版同様に、セレクトツールなどにて項目のリネームは可能です。しかし2023/10月時点では、日本語でのリネーム対応がまだのようで、Alteryx社によると今後対応していくとのことです。
4. キャンバスに画像は入れられない
私がAlteryxを利用していて良いなと思う点の一つに別でマニュアルを作成しなくても、初見でキャンバスを確認するとある程度誰でもデータの流れが分かる点があります。このように、Desktop版ではツールコンテナやコメントツールを多用化して、可視化できるようになっています。
Cloud版でもコンテナとコメントツールは利用可能なため、似たようなものは作成が可能です。ですが、現時点で画像だけが入れられないようです。
以前、Developers IO 2023登壇の際に、ChatGPT x Alteryxの内容で登壇しました。複数製品を組み合わせて何かWFを作る際に、製品ロゴはキャンバス上に入れれたらいいなという個人的な気持ちがあるので、画像も入れられるように今後なるといいなと感じております。
WFをスケジュール実行して、Slackへ通知
ではDesigner Cloudで作成したWFを、スケジュール実行してSlackへメッセージ通知をしてみます。
1. Slack側でTokenの取得
事前にTokenを取得しておきます、Scopeの設定はこの権限にしました。
2. スケジュール実行は【PLANS】
スケジュール実行の設定は【Designer Cloud】上ではなく、こちらの【PLANS】のほうで行います。
この【PLANS】ですが、単にWFをスケジュール実行するだけでなく、このようにWFを実行した後に、Slack通知のJobを入れたり、一時ファイルを削除、HTTPリクエストを送信(あらかじめ用意していたメールメッセージを送信するなど)することが可能です。
今回は単純にSlackに先ほど作成したWFの結果を、対象の営業担当者宛てへメッセージ通知するフローを組んでみました。
3. 失敗した時のリトライが出来ない
それぞれの結果に対して、実行後のアクションを設定することが可能なのですが
- 「成功した場合」
- 「常に」
- 「失敗した場合」
この失敗した際に、自動でリトライする設定が現状はないとのことです。そのため【Always】にて失敗した際の結果の通知を流すように設定し、
失敗した際に、再度WFをまた設定するなどリトライに代わるような設定をする必要があるかと思います。
4. Slack通知に入れる変数は、WFの実行結果のみ
当初WF作成した結果の項目から、営業担当のSlackIDとユーザー名を含ませておいたので、その変数をメッセージに組み込みたいと考えていました。
しかしリファレンスも確認しましたが、どうやらWFの実行結果を通知する用途のようで、WFの中身の内容そのものはメッセージに組み込むことが出来ないようです。
ということで、今回最終的にはこのようなメッセージを送信することになりました。
おわりに
現状だとまだDesigner Cloud製品の情報が少ないため、検証した結果をブログにしてみました。Alteryx社によると、Cloud製品はUpdateがこの先どんどんあるようなので、公式サイトやコミュニティで盛り上がっていくことを期待したいと思います。
この記事がどなたかのお役に立てば幸いです。